598C - Nearest vectors - CodeForces Solution


geometry sortings *2300

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>

const long double PI = acos(-1);
const int N = 1e6+10;

typedef std::pair<long double,int> DI;

DI p[N];

void solve()
{
    int n;
    std::cin >> n;
    
    for(int i=1;i<=n;i++)
    {
        int x,y;
        std::cin >> x >> y;
        p[i] = {atan2(1.0*y,1.0*x),i};
    }
    std::sort(p+1,p+n+1);
    p[n+1] = p[1], p[n+1].first += 2*PI;
    
    long double minv = 1e5;
    int a,b;
    for(int i=1;i<=n;i++)
    {
        long double t = p[i+1].first - p[i].first;
        //std::cout << t  << " " << p[i].second+1 << "  " << p[i+1].second+1<< "\n";
        //if(t<0) t += 2*PI;
        if(minv>t)
        {
            minv = t;
            a = p[i].second, b = p[i+1].second;
        }
    }
    std::cout << a << ' ' << b << "\n";
}

signed main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    std::cout.tie(0);
    
    int t = 1;
    //std::cin >> t;
    while(t --)
        solve();
    return 0;
}


Comments

Submit
0 Comments
More Questions

Help Jarvis!
Lift queries
Goki and his breakup
Ali and Helping innocent people
Book of Potion making
Duration
Birthday Party
e-maze-in
Bricks Game
Char Sum
Two Strings
Anagrams
Prime Number
Lexical Sorting Reloaded
1514A - Perfectly Imperfect Array
580A- Kefa and First Steps
1472B- Fair Division
996A - Hit the Lottery
MSNSADM1 Football
MATCHES Playing with Matches
HRDSEQ Hard Sequence
DRCHEF Doctor Chef
559. Maximum Depth of N-ary Tree
821. Shortest Distance to a Character
1441. Build an Array With Stack Operations
1356. Sort Integers by The Number of 1 Bits
922. Sort Array By Parity II
344. Reverse String
1047. Remove All Adjacent Duplicates In String
977. Squares of a Sorted Array